/**
 * 单选框
 * 使用说明：
 * jsp中使用范例(最常用模式)
 * <tag:select  map="${yyy}" selected="${zzz}" others='class="checkboxCtrl" name="c1"  selectType="invert"' selected="1" tip="勾选是否" />
 * 参数说明：              
 * 1. name 不必填 默认是c1
 * 2. selected 为不必填 默认选中的值
 * 3. map：不必填 加载项的值  
 * 4. tip：不必填  在多选框组最前面的显示信息     
 * 5. split：多选框之间的分隔符  默认为 空格 
 * 6. prefix：不必填 显示名称前缀加载项
 * 7. suffix：不必填 显示名称后缀加载项
 * 8. others 不必填  其他参数值 
 */
package com.zjdiepu.www.jsp.tag;

import java.util.Map;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * 项目名称 common-jsp <br/> 
 * 类名称 SelectTag <br/>  
 * 类描述  下拉标签<br/>    
 * 创建人 xiongxiaotun <br/> 
 * 创建时间 2017年4月26日 下午7:42:19  <br/>   
 * 修改人 xiongxiaotun <br/> 
 * 修改时间 2017年4月26日 下午7:42:19   <br/>  
 * 修改备注   <br/> 
 * @version V1.0   <br/>
 */
public class SelectTag extends TagSupport {

	private static final long serialVersionUID = -8050030465682515668L;
	public static final String SELECT_FIRST_OPTION = "请选择";
	public static final String SELECT_FIRST_VALUE = "";
	public static final String COMMA_SYMBOL = ",";
	
	protected Logger logger = LoggerFactory.getLogger(getClass());
	
	private String id; // 默认是id
	private String name; // 默认为name
	private boolean firstFlag; // 是否添加首选项
	private boolean multiple; // 是否多选
	private String firstoption; // 下拉框的首选项,默认是全部
	private String firstvalue;// 首选项值，默认是""
	private String title; //下拉框的名称
	private String selected; // 下拉框选中项
	private Map<Object, Object> map; // 下拉框中的值
	private String others; // 其他
	
	public int doStartTag() throws JspException {
		try {
			pageContext.getOut().print(TagUtil.getSelectTag(id,name,firstFlag,multiple,firstoption,firstvalue,title,selected,map,others));
		} catch (Exception e) {
			e.printStackTrace();
			logger.error("下拉框控件标签SelectTag异常");
			throw new JspException(e.getMessage());
		}
		return SKIP_BODY;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public boolean isFirstFlag() {
		return firstFlag;
	}

	public void setFirstFlag(boolean firstFlag) {
		this.firstFlag = firstFlag;
	}
	public boolean isMultiple() {
		return multiple;
	}

	public void setMultiple(boolean multiple) {
		this.multiple = multiple;
	}

	public String getFirstoption() {
		return firstoption;
	}

	public void setFirstoption(String firstoption) {
		this.firstoption = firstoption;
	}

	public String getFirstvalue() {
		return firstvalue;
	}

	public void setFirstvalue(String firstvalue) {
		this.firstvalue = firstvalue;
	}

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public String getSelected() {
		return selected;
	}

	public void setSelected(String selected) {
		this.selected = selected;
	}

	public Map<Object, Object> getMap() {
		return map;
	}

	public void setMap(Map<Object, Object> map) {
		this.map = map;
	}

	public String getOthers() {
		return others;
	}

	public void setOthers(String others) {
		this.others = others;
	}
}
